Systems and methods for creating and implementing an artificially intelligent agent or system

ABSTRACT

A system and associated methods for creating and implementing an artificially intelligent agent or system are disclosed. In at least one embodiment, a target personality is implemented in memory on an at least one computing device and configured for responding to an at least one conversational input received from an at least one communicating entity. An at least one conversational personality is configured for conversing with the target personality as needed in order to provide the target personality with appropriate knowledge and responses. For each conversational input received by the target personality, it is first processed to derive an at least one core meaning associated therewith. An appropriate raw response is determined then formatted before being transmitted to the communicating entity. Thus, the target personality is capable of carrying on a conversation, even if some responses provided by the target personality are obtained from the at least one conversational personality.

RELATED APPLICATIONS

This application is a continuation-in-part of and claims priority toU.S. non-provisional application Ser. No. 14/324,144—filed on Jul. 4,2014 and entitled, “SYSTEMS AND METHODS FOR CREATING AND IMPLEMENTING ANARTIFICIALLY INTELLIGENT AGENT OR SYSTEM”—which claims priority and isentitled to the filing date of U.S. provisional application Ser. No.61/843,230—filed on Jul. 5, 2013 and entitled, “SYSTEMS AND METHODS FORCREATING AND IMPLEMENTING AN ARTIFICIALLY INTELLIGENT COMPUTERPERSONALITY.” The contents of the aforementioned applications areincorporated by reference herein.

BACKGROUND

The subject of this patent application relates generally to artificialintelligence, and more particularly to systems and methods for creatingand implementing an artificially intelligent agent or system.

By way of background, since the development of the computer, humanbeings have sought to construct computers that are capable of thinking,learning and carrying on intelligent conversations with humans—in otherwords, “artificial intelligence.” Some development of such artificiallyintelligent computers has focused on developing computers that arecapable of conversing. Thus, a key area in developing an artificiallyintelligent computer has been developing a language that allows acomputer to process inputs received from humans and to respond with anappropriate and cogent output. One such language is known as ArtificialIntelligence Markup Language (“AIML”).

AIML is interpreted and processed by an AIML interpreter, such asArtificial Linguistic Internet Computer Entity (“ALICE”). The AIMLinterpreter is designed to receive an input from a user and determinethe correct response using knowledge encoded in AIML and stored in anAIML knowledge base. In arriving at a response for a particular input,the AIML interpreter searches a list of categories within the AIMLknowledge base. Each category contains a pattern that is linked to asingle response template. The AIML interpreter matches the user inputagainst the available patterns in the AIML knowledge base. After findinga match in a pattern, the pattern's corresponding response template isactivated and a series of actions are carried out by the AIMLinterpreter.

The known prior art methods for creating such a computer personalitygenerally consist of manually creating and editing that knowledge baseand associated response templates (often referred to as“question-response pairs” or “QR pairs”). As such, the process ofcreating a computer personality having a relatively high level ofartificial intelligence can be very labor intensive and can takethousands or even tens of thousands of hours in order to form abelievable personality. Furthermore, depending on the particular contextin which a given computer personality is to be utilized (i.e., in themedical field, engineering field, general consumer field, etc.), eachdiscrete computer personality may require a unique set of QR pairs.Thus, there is a need for systems and methods for automating the processof creating an artificially intelligent computer personality that istailored for a desired context.

There are many type of artificial neural networks known in the priorart. Forward passing neural networks faced the problem of not being ableto handle XOR logic problems. Later back propagating networks weredeveloped. Recently a problem which relates to all of these inventionshas emerged in the form of a blind spot.

Additionally, among the drawbacks found in many prior art systems is adependence upon grammar and punctuation in order to recognize elementswithin a sentence. This presents an insurmountable drawback whenattempting to adapt these systems to environments where voicerecognition rather than text is the input device. Other problems thatexist in systems representative of the current art include a lack offlexibility. Because these systems are issued as standards, they arerigid for the time period that a particular version is operational. Thismakes it very difficult for them to be adapted to changing technologicalenvironments as they are encountered. Implementing upgrades involvesissuing a new version which gives rise to versioning problems and veryoften necessitates entire systems being forced to come offline whilethey are being adapted to a newer version. Other problems include objectrepresentation and the need for a simple way to represent any objectknown or unknown which might be encountered by an artificiallyintelligent agent or system.

Many attempts to create a standardized object representation format areknown in the prior art. One of the more prominent of these is OWL. Allof them have a problem which has sparked one of the more rigorousdebates in the field of artificial intelligence: Is an artificiallyintelligent agent or system truly intelligent, or is its intelligencejust an extension of the programmer's intelligence? To some degree theyattempt to identify objects and store them according to a pre-determinedclassification set. This gives any artificially intelligent agent orsystem using the ontology what is necessarily a view of the world asseen through the eyes of the programmer which created theclassification, and further any artificially intelligent agent or systemusing the ontology would have the same view.

Furthermore, in the context of artificially intelligent systems designedfor personal use, such as on smart phones and other mobile devices, suchprior art systems typically suffer various drawbacks including limitedor no protection for personal data which would include a perceived lackof controllability by the user of how personal data is used by thecompany hosting the artificial intelligence. There have been numerousattempts to secure personal data that is acquired, stored and lateraccessed by an artificially intelligent agent or system functioning as apersonal agent. To date all of these have failed to some degree. Anothernotable problem is that when multiple users access a single device,mobile or otherwise, they are presented with a single personality. Stillanother notable problem is the fact that each device owned by a singleindividual has its own artificial intelligence—in other words, certainelements such as personal information are duplicated and are nottransferable between devices. Many attempts at developing anartificially intelligent personal agent are known in the prior art. Someof the most well known include SIRI and Cortana. These suffer fromseveral problems. One such problem is that they do not share a commoninformation base between devices. In addition, certain aspects of anartificial general intelligence (“AGI”) used for human interaction suchas voice should be consistent between devices. In other words a givenpersonal assistant should have the same voice from device to device andshould have access to and data generated on a particular device when theuser access the agent from a different device. This might best be termeda “roaming personality.” Still other problems center on authenticationmethods for personal data access.

Yet another problem that arises in the context of smart phones and othermobile devices (hereinafter referred to generally as “mobile devices”)is related to advertising. Prior to the growth in popularity of mobiledevices, consumers would typically use personal computers as theirprimary means of accessing the Internet. Given the relatively largerscreens and greater computing power of most personal computers (ascompared to that of mobile devices), the type, quality and amount ofadvertising content that can be served to users via personal computerstends to be relatively better than advertising content served via mobiledevices. Thus, as a result of consumers using mobile devicesincreasingly more than personal computers, the effectiveness ofInternet-based advertising campaigns appears to be decreasing. Not onlythat, but consumers are increasingly using their mobile devices as theirprimary source of news and entertainment, as opposed to traditional newsand entertainment sources (i.e., television, newspapers, magazines,etc.), thereby also decreasing the effectiveness of advertisingcampaigns disseminated through such traditional news and entertainmentsources—sources that are also often capable of providing relativelybetter advertising content as compared to mobile devices. Furthermore,given that consumers are relying more and more on voice commands andtext-to-speech applications when using their mobile devices (such thatthey aren't actually looking at their mobile devices as often), thelikelihood of actually viewing advertising content via mobile devices isprogressively decreasing. Accordingly, there continues to be a need foreffective alternatives for delivering advertising content to consumers.

Aspects of the present invention are directed to solving all of theseproblems by providing systems and methods for creating and implementingan artificially intelligent computer personality, as discussed in detailbelow.

Applicant(s) hereby incorporate herein by reference any and all patentsand published patent applications cited or referred to in thisapplication.

SUMMARY

Aspects of the present invention teach certain benefits in constructionand use which give rise to the exemplary advantages described below.

The present invention solves the problems described above by providing asystem and associated methods for creating and implementing anartificially intelligent agent or system residing in memory on an atleast one computing device. In at least one embodiment, a targetpersonality is implemented in memory on the at least one computingdevice and configured for interacting with an at least one communicatingentity through responding to an at least one conversational inputreceived therefrom. An at least one artificially intelligentconversational personality is also implemented in memory on the at leastone computing device, each conversational personality configured forconversing with the target personality as needed in order to provide thetarget personality with appropriate knowledge and associated responses.For each conversational input received by the target personality, theconversational input is first processed to derive an at least one coremeaning associated therewith. An appropriate raw response is determinedfor the at least one core meaning. The raw response is then formattedbefore being transmitted to the communicating entity. Thus, the targetpersonality is capable of carrying on a conversation, even if one ormore responses provided by the target personality are obtained inreal-time from the at least one conversational personality, all whiledynamically increasing the artificial intelligence of the targetpersonality.

Other features and advantages of aspects of the present invention willbecome apparent from the following more detailed description, taken inconjunction with the accompanying drawings, which illustrate, by way ofexample, the principles of aspects of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate aspects of the present invention.In such drawings:

FIG. 1 is an architecture diagram of an exemplary system for creating anartificially intelligent computer personality, in accordance with atleast one embodiment;

FIG. 2 is a flow diagram of an exemplary method for creating anartificially intelligent computer personality, in accordance with atleast one embodiment;

FIGS. 3 and 4 are simplified schematic views of exemplary systems forcreating an artificially intelligent computer personality, in accordancewith at least one embodiment;

FIG. 5 is an architecture diagram of an exemplary target personality, inaccordance with at least one embodiment;

FIG. 6 is a flow diagram of an exemplary method for extracting a coremeaning from a conversational input, in accordance with at least oneembodiment;

FIG. 7 is a flow diagram of an exemplary method for processing andresponding to an at least one conversational input, in accordance withat least one embodiment;

FIG. 8 is an illustration of an exemplary response file, in accordancewith at least one embodiment;

FIG. 9 is a flow diagram of an exemplary method for formatting andtransmitting a response to a core meaning, in accordance with at leastone embodiment;

FIGS. 10 and 11 are illustrations of exemplary object files, inaccordance with at least one embodiment;

FIG. 12 is a flow diagram of an exemplary method for processing anobject, in accordance with at least one embodiment;

FIG. 13 is a flow diagram of an exemplary method for dynamically andsecurely personalizing an exemplary computer personality, in accordancewith at least one embodiment; and

FIG. 14 is an illustration of a further exemplary response file, inaccordance with at least one embodiment.

The above described drawing figures illustrate aspects of the inventionin at least one of its exemplary embodiments, which are further definedin detail in the following description. Features, elements, and aspectsof the invention that are referenced by the same numerals in differentfigures represent the same, equivalent, or similar features, elements,or aspects, in accordance with one or more embodiments.

DETAILED DESCRIPTION

Turning now to FIG. 1, there is shown an architecture diagram of anexemplary system 20 for creating an artificially intelligent agent orsystem, in accordance with at least one embodiment. The system 20comprises, in the exemplary embodiment, a target personality 22, an atleast one conversational personality 24, a teacher personality 26, and adata server 28, each residing in memory 30 on an at least one computingdevice 32. It should be noted that the term “memory” is intended toinclude any type of electronic storage medium (or combination of storagemediums) now known or later developed, such as local hard drives, RAM,flash memory, external storage devices, network or cloud storagedevices, etc. Furthermore, the various components of the system 20 mayreside in memory 30 on a single computing device 32, or may separatelyreside on two or more computing devices 32 in communication with oneanother. The term “computing device” is intended to include any type ofcomputing device now known or later developed, such as desktopcomputers, smartphones, laptop computers, tablet computers, etc.Additionally, the means for allowing communication between the variouscomponents of the system 20, when not residing on a single computingdevice 32, may be any wired- or wireless-based communication protocol(or combination of protocols) now known or later developed. It shouldalso be noted that while the term “personality” is used throughout, eachof the terms “agent” and “system” may be used interchangeably with theterm “personality,”—and vice versa—depending in part on the context inwhich the system and associated methods are utilized.

With continued reference to FIG. 1, each conversational personality 24is a computer personality that has been created previously, either bythe present system 20 or through other means, now known or laterdeveloped. As discussed further below, in at least one embodiment, theat least one conversational personality 24 is configured for conversingwith the target personality 22 as needed in order to provide the targetpersonality 22 with appropriate knowledge and associated responses.Depending on the context in which the system 20 is to be used, a givenconversational personality 24 may possess a general knowledge base andassociated responses (for general conversations), or it may possess atargeted or specific knowledge base and associated responses. Forinstance, if the target personality 22 is to be used in the context offunctioning as a physician's assistant, the at least one conversationalpersonality 24 would preferably possess a medical knowledge base andassociated responses. In another example, if the target personality 22is to be used in the context of functioning as a hospital administrator,at least one conversational personality 24 would preferably possess amedical knowledge base and associated responses, while anotherconversational personality 24 would preferably possess a business and/oradministrative knowledge base and associated responses. In at least onesuch embodiment and where appropriate, the target personality 22 and/orat least one conversational personality 24 is provided access to one ormore supplemental data sources (not shown)—such as medical dictionaries,Internet search engines, encyclopedias, etc.—for selectively increasingthe knowledge base of the target personality 22 and/or conversationalpersonality 24. Preferably, the accuracy of information obtained fromany such supplemental data sources would be independently verified bythe system 20 before being utilized.

The teacher personality 26 is yet another computer personality, in atleast one embodiment, that has been created previously, either by thepresent system 20 or through other means, now known or later developed.As discussed further below, in at least one such embodiment, the teacherpersonality 26 is pre-programmed with a set of conversational inputs 34consisting of various statements and/or interrogatories geared towardthe particular type of target personality 22 to be created. Thus, theteacher personality 26 is configured for conversing with the targetpersonality 22 (i.e., transmitting the conversational inputs 34 to thetarget personality 22) so that the target personality 22 may learn howto appropriately respond to the conversational inputs 34 throughinteracting with and receiving appropriate responses from the at leastone conversational personality 24.

Thus, as illustrated in the flow diagram of FIG. 2, the exemplary methodfor creating an artificially intelligent computer personality comprisesthe steps of: choosing a desired personality type for the new targetpersonality 22 to be created (200); based on that desired personalitytype, selecting one or more appropriate conversational personalities 24(202); selecting an appropriate teacher personality 26 (204); andteaching the target personality 22 by allowing it to converse with theteacher personality 26 and selectively obtain appropriate responses fromthe at least one conversational personality 24 (206). A simplifiedschematic view of this interoperability between each of the teacherpersonality 26, target personality 22 and conversational personalities24, in accordance with at least one embodiment, is shown in FIG. 3. Asillustrated in the simplified schematic view of FIG. 4, once adequatelytaught, or even during the teaching process, a user 36 may besubstituted for the teacher personality 26 for general interactions withthe target personality 22. Thus, generally speaking, in at least oneembodiment, the system 20 allows an at least one communicatingentity—i.e., user 36, teacher personality 26, etc.—to selectivelyinteract with the target personality 22 by receiving conversationalinputs 34 from such communicating entity.

Referring now to the architecture diagram of FIG. 5, in the exemplaryembodiment, the target personality 22 utilizes an optimized clusteringneural net by comprising a pre-processor 38, a logic processor 40, and apost-processor 42. As discussed further below, the pre-processor 38 isconfigured for processing conversational inputs 34 received from theuser 36 (or the teacher personality 26), the logic processor 40 isconfigured for determining an appropriate raw response 44 to eachconversational input 34 (i.e., a response having not yet been formattedfor transmission to the user 36 or teacher personality 26) andperforming any handoff tasks triggered by a particular input, and thepost-processor 42 is configured for properly formatting and transmittinga response 46 to the user 36 (or the teacher personality 26) for eachconversational input 34. It should be noted that, in at least oneembodiment, each conversational personality 24 comprises these samecomponents. Furthermore, in at least one embodiment and as discussedfurther below, each of the pre-processor 38, logic processor 40 andpost-processor 42 is comprised of one or more specific purpose neuron(“SPN”), or modules, each SPN designed to perform a specificpre-determined task.

As mentioned above, the pre-processor 38 is configured for processingconversational inputs 34 received from the user 36 (or the teacherpersonality 26). In other words, the pre-processor 38 pares eachconversational input 34 down to a core meaning 48, in order to pass thatcore meaning 48 along to the logic processor 40 for determining anappropriate response. Thus, the pre-processor 38 does not parse text forlanguage elements in this particular embodiment; but rather, it breaksdown conversational inputs 34 in order to determine their respectivecore meanings 48. For example, the conversational inputs 34, “How areyou,” “How are you feeling,” “How are you feeling, Vincent,” and “Howare you doing,” are all interrogatories that map to a single coremeaning 48 of, “how are you.” In a bit more detail, and as illustratedin the flow diagram of FIG. 6, in the exemplary embodiment, upon receiptof a conversational input 34 (600), the pre-processor 38 first removesany and all punctuation from the conversational input 34 (602). Thisallows the target personality 22 to respond in exactly the same fashionas when converting speech to text, and also allows the targetpersonality 22 to be able to detect and respond to inflection. Next, thepre-processor 38 removes any trivial language (i.e., language in theconversational input 34 that is determined to have no real bearing onthe core meaning 48) (604). For example, the conversational input 34,“Hey, Vince, how are you feeling” contains the language, “Hey, Vince”which could be considered trivial as having no real bearing on the coremeaning 48 of, “how are you.” In at least one embodiment, thepre-processor 38 is also configured for recognizing variations of aparticular core meaning 48 in the conversational input 34 and mappingthose variations to (i.e., substituting those variations with) theappropriate core meaning 48 (606). For example, the conversational input34, “What's your name” would be mapped to (i.e., substituted with) thecore meaning 48, “what is your name.” In another example, theconversational input 34, “Howya doin” would be mapped to the coremeaning 48, “how are you.” In addition to mapping strings of characters,in at least one embodiment, the pre-processor 38 is configured formapping numbers as well—i.e., mapping character-based numbers (ex.,“two”) to their numerical representations (ex., “2”) or vice versa.

In at least one such embodiment, the pre-processor 38 maintains arelational list of functions in an XML document, with each functioncontaining a unique conversational input 34 along with the core meaning48 to which that conversational input 34 should be mapped. Thus, for agiven conversational input 34 in such an embodiment, the pre-processor38 simply iterates through the list of functions until the matchingconversational input 34 is found, at which point the associated functionreturns the corresponding core meaning 48. As such, this form of fuzzystring substitution allows the pre-processor 38 to map a wide range ofconversational inputs 34 to their appropriate core meanings 48. In afurther such embodiment, the fuzzy string substitution algorithm iscapable of accepting and returning variables 45, which allows thepre-processor 38 to pass to the logic processor 40 dynamically createdcore meanings 48 rather than only static core meanings 48. For example,if the conversational input 34 is, “If a car is traveling 60 miles anhour, how far will it travel in 2 hours,” the pre-processor 38 wouldfirst iterate through the list of functions until the matching staticportion of the conversational input 34 is found, at which point theassociated function would return the appropriate core meaning 48containing the variable 45 portion of the conversational input 34. Thus,in the above example, the core meaning 48 would be, “solve x=60*2.” Infurther embodiments, other methods for accomplishing this particularfunctionality, now known or later developed, such as a lookup table ordatabase, may be substituted.

In at least one embodiment, as discussed further below, thepre-processor 38 is capable of obtaining one or more select detailsrelated to the user 36 (i.e., name, gender, age, relationship status,hobbies, dietary preferences, music preferences, details on any petsthey may own, etc.) and/or the user's 36 environment (i.e., time of day,geographic location, current weather, etc.) and passes those details tothe logic processor 40 along with the core meaning 48 (608). In thisway, in such embodiments, as discussed further below, the logicprocessor 40 is able to modify and tailor a given raw response 44 so asto better relate to the user 36. In an alternative embodiment, ratherthan pass such details directly to the logic processor 40, the detailsare instead stored in a database on the data server 28 or elsewhere.Additionally, in an alternative embodiment, rather than thepre-processor 38 obtaining such details, any other component of thesystem 20 may be configured for carrying out that functionality.Obtaining such details may be accomplished in any number of ways—nowknown or later developed—including but not limited to, having the user36 complete a questionnaire prior to interacting with the targetpersonality 22 for the first time, having the user 36 speak (or type)about themselves briefly at the beginning of the first conversation withthe target personality 22, gradually obtaining such details during thecourse of the user's 36 conversation(s) with the target personality 22,automatically obtaining select details based on the user's 36 IPaddress, accessing a profile that might be generated and associated withthe user 36 in connection with the system 20, scanning personal historydocuments related to the user 36, accessing one or more publiclyavailable supplemental data sources that might contain informationrelated to the user 36 such as a social networking profile, etc.

In a still further embodiment, the pre-processor 38 contains aself-organization module configured for catching core meanings 48 thatmight be initially missed due to the wording of a particularconversational input 34. For example, where the conversational input 34is, “What time is it buddy,” the pre-processor 38 may initially miss thecore meaning 48 of “what time is it” due to the inclusion of the word“buddy” at the end of the sentence. In such a scenario, thepre-processor 38 would cause the target personality 22 to initiallyrespond by asking the user 36 (or teacher personality 26) to re-phrasetheir conversational input 34. For example, the target personality 22may respond with, “Sorry, I didn't understand that,” or, “Can you pleasere-phrase that.” Upon receipt of a re-phrased conversational input 34,and assuming the pre-processor 38 is able to derive the appropriate coremeaning 48 from that conversational input 34, the pre-processor 38 isthen able to create a new function that maps the new conversationalinput 34 that was initially missed to the appropriate core meaning 48,so as not to miss it again in the future. In the exemplary embodiment,the pre-processor 38 accomplishes this by taking the conversationalinput 34 for the function that worked and performing a differentialmatch against the conversational input 34 that initially failed. Thepre-processor 38 then takes the portion of the conversational input 34that did not match and, from a pool of regular expression elements, addsthat portion to the pattern that matched the subsequent conversationalinput 34. In further embodiments, other methods for accomplishing thisparticular functionality, now known or later developed, may besubstituted.

Again, once the core meaning 48 has been derived, the pre-processor 38passes the core meaning 48 to the logic processor 40 (608).

As mentioned above, the logic processor 40 is configured for determiningan appropriate response to the core meaning 48 of each conversationalinput 34. In the exemplary embodiment, as illustrated in the flowdiagram of FIG. 7, after the pre-processor 38 has received aconversational input 34 (700) and extracted the at least one coremeaning 48 therefrom (702), the logic processor 40 determines whether afirst of the at least one core meaning 48 contains any objects (704), asdiscussed further below—if so, the objects are processed (1200), as alsodiscussed further below. The logic processor then determines whether thefirst of the at least one core meaning 48 is new, or whether it hasencountered that particular core meaning 48 before (706).

In a bit more detail, the logic processor 40 is configured for treatingeverything as an object. This applies to speech as well. For example,the term “Hello” would be considered an object as would the term“Vincent.” The logic processor 40 is able to combine objects and, assuch, can respond to core meanings 48 that it has never beforeencountered or has been programmed to handle, as discussed furtherbelow. Thus, in the above example, the phrase, “Hello Vincent” would beconsidered a further object.

In the exemplary embodiment, the logic processor 40 consists of variousmodules that are loaded and arranged dynamically depending on theparticular core meaning 48 that it is to process and/or otheruser-related or environmental details that might be relevant to theparticular core meaning 48 that it is to process (as mentioned above).Thus, each module is preferably created as a dynamic link library andrepresents certain base functions. In the exemplary embodiment, a modulelist is stored as an XML document and contains the location of eachmodule's dynamic link library along with a description of each module'sfunctions. The order of the modules represents the order in which theyare to be called by the logic processor 40. The list is also preferablyself-configurable, meaning that certain conditions present in a givencore meaning 48 can cause or allow the logic processor 40 to order,re-order, or modify the list of functions. For example, an emergencycondition present in the core meaning 48 can cause the logic processor40 to remove the emotional response module from the list, therebycausing the logic processor 40 to function purely analytically. Inanother example, an intrusion detection present in the core meaning 48can cause the logic processor 40 to remove the application and systemfunction modules from the list, thereby preventing an unauthorized user36 from accessing application and system functions. In at least oneembodiment, the pre-processor 38 is configured for dynamicallyconfiguring the module list, based on the content of a given coremeaning 48, so that only modules which are needed to process and respondto that core meaning 48 are loaded into the logic processor 40, therebyreducing overall processing time.

In at least one embodiment, the logic processor 40 provides an at leastone anomalous speech pattern detection module. In one such embodiment,the anomalous speech pattern detection module enables the logicprocessor 40 to detect whether or not the core meaning 48 contains agreeting such as, “Hello.” From this, the logic processor 40 is able toautomatically extrapolate that the core meaning 48, “Hello there” isalso a greeting and would thus add that core meaning 48 to the list ofrecognized greetings. In another such embodiment, the anomalous speechpattern detection module enables the logic processor 40 to detectwhether a core meaning 48 has been repeated by the user 36 (i.e.,whether the user 36 has asked the same question or input the samestatement more than once, even if phrased differently each time).

In the exemplary embodiment, the logic processor 40 also provides aresponse module configured for determining the appropriate raw response44 to a given core meaning 48. In a bit more detail and with continuedreference to FIG. 7, the response module of the logic processor 40,again, determines whether the core meaning 48 has been encounteredbefore (706). In at least one such embodiment, as shown in the exemplaryillustration of FIG. 8, each core meaning 48 is stored in a separateresponse file 50 along with the corresponding raw response 44. Theresponse files 50 are stored in the system 20, either within the dataserver 28 or in another database stored elsewhere in memory 30. Itshould be noted that, for purely illustrative purposes, the exemplaryresponse file 50 is shown as an XML file; however, the scope ofpotential implementations of the system 20 should not be read as beingso limited. With continued reference to FIG. 8, in at least oneembodiment, each response file 50 contains further details related tothe associated core meaning 48 and raw response 44, including but notlimited to a mood value 52, a weight value 54, a creation date 56, acreator name 58, an edit date 60, and an editor name 62.

The mood value 52 indicates the type of emotion that is to accompany theraw response 44 to the core meaning 48 of a given response file 50. Forexample, in the exemplary embodiment, a value of “0” is intended toindicate “normal,” a value of “1” is intended to indicate “happy,” avalue of “2” is intended to indicate “angry,” a value of “3” is intendedto indicate “distracted,” and a value of “4” is intended to indicate“sad.” Certainly, in further such embodiments, the specific types ofemotions (or moods) and associated mood values 52 may vary. Relatedly,the weight value 54 indicates the amount or strength of appropriate moodthat is to accompany the raw response 44 associated with the coremeaning 48 of a given response file 50. For example, in the exemplaryembodiment, a value of “0” is intended to indicate a mild form of theassociated mood, while a value of “10” is intended to indicate a verystrong form of the associated mood. The use of the mood value 52 andweight value 54 is discussed further below.

The creator name 58 indicates the entity which originally added thegiven response file 50 to the system 20. This can include manualadditions by a user 36, automated additions by a conversationalpersonality 24, or automated additions by the target personality 22.Relatedly, the creation date 56 indicates the date on which the givenresponse file 50 was added to the system 20. Similar to the creator name58, the editor name 62 indicates the entity which most recently editedthe given response file 50, while the associated edit date 60 indicatesthe date on which such recent changes were made.

As mentioned above, in at least one embodiment, a separate databasecontaining information related to users 36 is maintained, and a rank isassigned to each user 36. As such, if multiple raw responses 44 (i.e.,multiple response files 50) are found containing the same core meaning48, the raw response 44 having the highest rank (i.e., the raw response44 having been created or edited by the user 36 having the highestranking) is selected. This allows the target personality 22 to alwaysoverride any response file 50 which is created or edited by an entitywith a relatively lower rank. Additionally, the system 20 preferablytracks the number of times a particular entity has had its originalresponse file 50 edited by a user 36 with a higher ranking. In this way,reliability of input can be established. In essence then, bettersources' response file 50 content begin to be recognized as morereliable than other sources, and are able to be favored. This alsoallows the target personality 22 to “mature” by creating a “takeoverpoint,” such as, for example, by constructing an algorithm which resetsthe assigned value of the “parent” below the assigned value of thetarget personality 22 when the number of synthesized or learnedresponses that do not have to be corrected exceeds the number ofsynthesized responses that are corrected.

Referring again to FIG. 7, in at least one embodiment, the responsemodule of the logic processor 40 determines whether the core meaning 48has been encountered before (706) by iterating through each of theresponse files 50 (which are preferably sorted in a logical manner, suchas alphabetically by core meaning 48) to try and find that particularcore meaning 48. If the core meaning 48 is found in one or more of theresponse files 50, the best associated raw response 44 is accessed (708)and passed along to the post-processor 42 for formatting (714) andtransmission to the user 36 (or teacher personality 26) (716), asdiscussed further below. If the core meaning 48 is not found in any ofthe response files 50, then it has not been encountered before and sothe logic processor 40 then transmits the core meaning 48 to one or moreof the conversational personalities 24 in order to obtain an appropriateraw response 44 therefrom (718). Upon receipt of one or more potentialraw responses 44 from the conversational personalities 24 (720), thelogic processor 40 determines which potential raw response 44 is best(722) using one or more of the methods described above. Additionally, orin the alternative, the logic processor 40 may determine the bestpotential raw response 44 by loading each potential raw response 44 intoa dataset, then iterating through them so as to try and match portionsof each potential raw response 44 to raw responses 44 that have alreadybeen stored in other response files 50. A new response file 50 iscreated for the best raw response 44, along with the associated coremeaning 48, and the response file 50 is added to the system 20 (724). Inat least one embodiment, the logic processor 40 then determines whetherthe raw response 44 contains any objects (726), as discussed furtherbelow—if so, the objects are processed (1200), as also discussed furtherbelow. In at least one embodiment, the logic processor 40 alsodetermines whether the raw response 44 contains any variables 45 (710),as discussed further below—if so, the appropriate value for each suchvariable 45 is determined (712), as also discussed below. The rawresponse 44 is then passed along to the post-processor for formatting(714) and transmission to the user 36 (or teacher personality 26) (716),as discussed further below.

With continued reference to FIG. 7, if additional core meanings 48 arepresent in the conversational input 34 (728)—for example, if theconversational input 34 is, “Hello, what is your name and where are youlocated?”—the logic processor 40 performs the above described steps foreach core meaning 48 (i.e., “hello,” “what is your name,” and “where areyou located”), so as to obtain a raw response 44 to each core meaning48. Furthermore, these steps are repeated for each conversational input34 transmitted by the user 36 (or teacher personality 26) until theconversation with the target personality 22 is ended (730). In this way,even with a minimum number of pre-loaded response files 50 in the system20, a conversation can be carried on by the target personality 22 whichwill appear to have come directly from the target personality 22, evenif unknown raw responses 44 have been loaded in real-time from one ormore conversational personalities 24; all the while, dynamicallyincreasing the number of response files 50 (and, thus, the artificialintelligence) of the target personality 22.

As mentioned above, in the exemplary embodiment, the logic processor 40is configured for treating everything as an object. This becomes mostuseful where a given conversational input 34 or response 46 is notentirely static, but rather contains one or more variables 45. In a bitmore detail, the logic processor 40 is configured for representing anyobject and/or any variation of such objects using two object properties:taxonomy 64 and attributes 66. Furthermore, in at least one embodiment,the logic processor 40 divides objects into two categories: entities andevents. In at least one further embodiment, the logic processor 40 isconfigured for representing any object and/or any variation of suchobjects using three object properties: taxonomy 64, attributes 66 andevents. Either way, this construction is universal and applies to anyobject now known or later developed or discovered, such that that it isnever necessary to re-program the logic processor 40 with additionaldata types. Additionally, this method allows the logic processor 40 tolearn by natural language processing, as there is no need topre-classify data as it is encountered, given that a member of anytaxonomy 64 of a particular object can also be classified as anattribute 66 of another object. As shown in the exemplary illustrationof FIG. 10, each object is preferably stored in a separate object file68 in the system 20, either within the data server 28 or in anotherdatabase stored elsewhere in memory 30. It should be noted that, forpurely illustrative purposes, the exemplary object file 68 is shown asan XML file; however, the scope of potential implementations of thesystem 20 should not be read as being so limited.

With continued reference to FIG. 10, in addition to a taxonomy 64 andattributes 66, each object file 68 has a unique object name 70. Forexample, the instance of the exemplary object file 68 shown in FIG. 10has an object name 70 of “dog.” Additionally, the taxonomy 64 of theobject file 68 contains details that inform the logic processor 40 ofthe fact that the “dog” object is a living animal of the canine type,while the attributes 66 of the object file contain details that informthe logic processor 40 of the fact that the “dog” object has four legs,no wings, and two eyes. As the logic processor 40 receives furtherdetails related to the “dog” object, it dynamically adds those furtherdetails to the taxonomy 64 and attributes 66 of the associated objectfile 68. For example, should the logic processor 40 receive the coremeaning 48, “a dog has teeth,” the logic processor 40 would access theassociated object file 68 and add, “teeth=true” to the attributes 66. Asshown in the flow diagram of FIG. 12, in the event the logic processor40 receives details related to a new object—i.e., receives an objectname 70 (1202) that does not exist in any of the object files 68residing in the system 20 (1204)—either through a core meaning 48 or araw response 44 received from one or more of the conversationalpersonalities 24, the logic processor 40 creates a new object file 68for the new object name 70 (1206) and populates the taxonomy 64 and/orattributes 66 with any relevant information contained in the coremeaning 48 or raw response 44 (1208); otherwise, again, if the objectalready exists, logic processor 40 simply dynamically adds any newdetails to the taxonomy 64 and attributes 66 of the associated objectfile 68 (1210). Additionally, where it is determined that the new objectname 70 is a subset of a pre-existing object, the logic processor 40populates the taxonomy 64 and/or attributes 66 of the new object file 68with all relevant taxonomy 64 and attributes 66 of the relatedpre-existing object file 68. For example, as shown in the exemplaryillustration of FIG. 11, upon the logic processor 40 receiving the coremeaning 48, “I have a dog named Fido,” and determining that no objectfile 68 currently contains the object name 70, “fido,” the logicprocessor 40 creates a new object file 68 containing that object name70. Additionally, because the core meaning 48 states that Fido is a dog,the logic processor 40 automatically populates the taxonomy 64 andattributes 66 of the new “fido” object file 68 with the taxonomy 64 andattributes 66 of the “dog” object file 68. Thus, the number of cyclesrequired to process a core meaning 48 such as, “Is Fido alive?” isgreatly reduced as there is no need to search for the object name 70“fido,” discover that “fido” is a dog, then look up the object name 70“dog” to determine whether it is a living being—instead, the logicprocessor 40 simply looks up the object name 70 “fido.”

In addition to treating all entities and events mentioned in coremeanings 48 and/or raw responses 44 as objects, the logic processor 40also treats users 36 as objects, in at least one embodiment. In a bitmore detail, upon the user 36 (or the teacher personality 26) beginninga conversation with the target personality 22, the logic processor 40(via the post-processor 42) prompts the user 36 for their name andsubsequently checks for an object file 68 containing that object name 70(and creates a new object file 68 if it is determined that one does notalready exist—i.e., if the user 36 is new). For new users 36, the logicprocessor 40 may also be configured for prompting the user 36 foradditional information—such as address, age, gender, likes or dislikes,etc.—in order to populate the taxonomy 64 and/or attributes 66 of theassociated object file 68. Alternatively, where the logic processor 40determines that an object file 68 already exists for the user 36, thelogic processor 40 may be configured (in at least one embodiment) toprompt the user 36 to provide correct answers to questions related tothe taxonomy 64 and/or attributes 66 contained in the user's 36 objectfile 70, in order to verify the identity of the user 36. In further suchembodiments, the logic processor 40 may be configured for prompting theuser 36 to provide details about past conversations with the targetpersonality 22 in order to verify the identity of the user 36.

In at least one such embodiment, as illustrated in the flow diagram ofFIG. 13, this means for verifying the identity of the user 36 isutilized for dynamically personalizing the communications between thetarget personality 22 and the user 36 by accessing the informationsecurely stored in the object file 68 associated with the user 36; thus,creating somewhat of a “roaming” artificial intelligence. In a bit moredetail, as the logic processor 40 receives new information related tothe user 36 (as discussed above), that information is encrypted using aunique encryption\decryption key. This is critical to preventing “man inthe middle” or “replay” attacks against the system 20 where voice ortext data is intercepted and used to access the system 20. Upon the sameuser 36 subsequently initiating a new conversation with the targetpersonality 22, the logic processor 40 verifies the identity of the user36 by prompting the user 36 for their name or some other piece ofidentifying information (1300), then checks for the existence of anencryption\decryption key associated with that particular user 36 in thesystem 20 (1302). If found, the key is then used to decrypt the personalinformation that has been encrypted (1304) in order to utilize thatinformation as appropriate while communicating with the user 36 (1306).If no key is found, the logic processor 40 denies access to the user 36(1308) and the personal information is not decrypted. Alternatively, ifthe user 36 is communicating with the target personality 22 viavoice-based conversational inputs 34 (1310), rather than text-basedconversational inputs 34, the logic processor 40 performs a voice printanalysis as a further verification step (1312). In still furtherembodiments, additional checks are performed to verify the identity ofthe user 36, including but not limited to facial recognition analysisand checking the last known GPS-based location of the user 36 (orcomputing device in the possession of the user 36) against the currentlocation. If any of these checks fail, the logic processor 40 initiatesa question\answer challenge-response sequence. This involves asking theuser 36 randomly generated questions which contain information that onlythe user 36 would know (1314), as discussed above, then determiningwhether the user's 36 responses are correct (1316). This process may goon until the identity of the user 36 is either confirmed or rejected.Once this multi-part authentication process has been successfullynegotiated, data such as personal and other sensitive informationassociated with the user 36 is made available to the user 36 in a globalfashion (1304).

In at least one embodiment, the system 20 maintains an offset valuerepresenting the probability that various credentials are fraudulent.This offset is produced by gathering various intelligences related touser behavior and world view statistics which are then fed into aBayesian probability function. These parameters would include but not belimited to the type and manufacturer of software packages installed onthe user's computing devices, the number of times that flaws have beenexposed in these software packages, verified news items indicatingcurrent ongoing risks, the amount of time the user spends on theInternet, etc. This offset is called recursively as the L and the Mvariables (which are then the M and the L in the next round) in theprobability function resulting in a final probability that all of thevarious “pass/fail” elements were compromised. Another embodiment wouldsimply force a logoff at a fail. Native probability elements areelements which are probability based having no capability other thanthreshold passing wherein they might be used in “pass/fail” functions.These might include but would not be limited to location tracking,facial recognition, voice recognition, etc. In at least one suchembodiment, these scores would be summed, and the result would beinversely relational to the offset generated and maintained by thesystem 20.

Use of the GPS-based location of the user 36 (or computing device in thepossession of the user 36) can be beneficial in other contexts besidesauthentication, including instances of the system 20 designed tofunction as a personal assistant (i.e., roaming artificialintelligence). For example, a user 36 who is driving may create agrocery list by communicating with the target personality 22 of thesystem 20 via a computing device installed in the automobile. This datais then stored in the system 20 either by a periodic update process orby a direct command. When the user 36 exits their vehicle and enters thestore, the same target personality 22 with access to the grocery list isautomatically made available on their smart phone or other mobilecomputing device. Similarly the data from purchases made by the user 36can be scanned or otherwise entered into the smart phone or other mobilecomputing device and made available to a computing device (incommunication with the system 20) installed in the home of the user 36.

When used as an intelligent agent, in at least one embodiment, thesystem 20 utilizes a “split horizon” architecture arranged in a clientserver model. Since the target personality 22 exists on the client aswell as the server in such an embodiment, modules specific to functionsthat are performed client side can be created and installed. Certainbasic logic and communication functions can also exist on the clientside so that if contact with the server is broken, the client will stillfunction albeit with a lessened degree of functionality. Since theoptimized clustering neural network employed by the system 20 (in atleast one embodiment) allows for multiple linear chains to be run inparallel, a second chain can be run which updates information such asGPS data from a mobile device and pushes it to the server. Voice andother data can be generated on the server side, and returned to theclient. This allows for consistent voice synthesis when the targetpersonality 22 roams from device to device. This allows for true AGIwith consistent voice content unlike technologies in the prior art whichrely on recorded speech. In another embodiment, the host server of thesystem 20 might be interfaced with a commercial voice server technology.

As also mentioned above, in at least one embodiment, the data server 28(or other database within the system 20) contains information related tothe user 36 and/or the user's 36 environment, allowing such details tobe included as variables 45 in certain raw responses 44, therebytailoring the raw response 44 so as to better relate to the user 36. Forexample, upon receipt of the core meaning 48, “Who was Richard Nixon,”the raw response 44 could be, “Richard Milhaus Nixon was the 37thPresident of the United States and served in office from 1969 to1974—roughly 14 years before you were born.” In another example, uponreceipt of the core meaning 48, “What should I have to drink,” from auser 36 currently located in a relatively cold region, the raw response44 could be, “You should drink a hot coffee.” The decision to include“hot coffee” in such a raw response 44 could be based on the user 36being located in a cold region; or it could be based on the user 36being located in a time zone where it is currently morning time; or itcould be based on the user 36 previously indicating (or the system 20otherwise determining) that the user 36 has a preference for coffee; orit could be based on a particular advertiser paying to have the system20 recommend coffee to the user 36 when appropriate; or it could bebased on any other trigger or combination of triggers, now known orlater conceived. Additionally, in embodiments where the system 20 allowsadvertisers to pay to have their products or services used as variables45 in appropriate raw responses 44, such raw responses 44 may includethe relevant brand name(s) of such products and services—so the aboveraw response 44 might instead be, “You should drink an ACME coffee.” Instill further such embodiments, such raw responses 44 may also includeinformation regarding how the user 36 might go about obtaining suchproducts or services, including but not limited to nearest retail storelocations, website URL's, phone numbers, etc.

In at least one such embodiment, as shown in the exemplary illustrationof FIG. 14, the raw response 44, as stored in the appropriate responsefile 50, contains such variables 45 directly within the raw response 44itself. Additionally, the data server 28 provides a database or listcontaining all possible values for a given variable 45, along withpre-programmed logic—such as keyword matching—for determining the mostappropriate value for a given variable 45 based on the user 36 and/orenvironmental details known to the system 20. For example, continuingwith the above exemplary core meaning 48, “What should I have to drink,”the possible values for the “[DRINK NAME]” variable 45 contained in thedata server 28 might include “coffee,” “soda,” “water,” “tea,” “hotchocolate,” “beer,” etc. Accordingly, upon the logic processor 40encountering such a variable 45 when looking up an appropriate rawresponse 44 for the given core meaning 48, the logic processor 40accesses the data server 28 to determine an appropriate value for thevariable 45, again, based on the user 36 and/or environmental detailsknown to the system 20. It should be noted that this is simply onemethod of implementing such variables in the raw responses 44—thus, infurther embodiments, any other methods, now known or developed, may besubstituted and are considered to fall within the scope of the presentsystem 20. Once the appropriate value has been obtained for the at leastone variable 45 (712), it is packaged with the rest of the raw responseand passed along to the post-processor for formatting (714) andtransmission to the user 36 (or teacher personality 26) (716).

As mentioned above, the post-processor 42 is configured for properlyformatting and transmitting the response 46 to the user 36 (or theteacher personality 26) for each conversational input 34. As illustratedin the flow diagram of FIG. 9, in the exemplary embodiment, upon receiptof the raw response 44 (900), the post-processor 42 converts the rawresponse 44 into the properly formatted response 46 by first addingproper capitalization and punctuation (if not already included in theraw response 44 by virtue of the data contained in the associatedresponse file 50) (902). In one such embodiment, data is maintained inthe system 20 regarding common first names, surnames, country and statenames, and other words which are traditionally capitalized. Thepost-processor 42 parses the raw response 44 into individual words,iterates through these words, and if a known name or other commonlycapitalized word is encountered, the first letter is capitalized. Infurther embodiments, other methods for accomplishing this particularfunctionality, now known or later developed, may be substituted.

As also mentioned above, in at least one embodiment, each response file50 contains a mood value 52 and a weight value 54 related to theassociated core meaning 48 and raw response 44. Thus, where such detailsare provided, the post-processor 42 factors them in during theformatting process and modifies the raw response 44 accordingly (904).This is most commonly used where the conversational input 34 (and, thus,the core meaning 48) is seeking to obtain the target personality's 22opinion of or emotional reaction to (i.e., whether the targetpersonality 22 likes or dislikes) the subject matter of the core meaning48. In the exemplary embodiment, this is accomplished by eitheraggregating or differentiating the respective weight values 54 of the atleast one mood value 52 associated with the raw response 44 so as toarrive at a final emotional reaction to incorporate into the formattedresponse 46.

As mentioned above, in at least one embodiment, the target personality22 is provided access to one or more supplemental data sources—such asmedical dictionaries, Internet search engines, encyclopedias, socialnetworking sites, etc.—for selectively increasing the knowledge base ofthe target personality 22. Such supplemental data sources may also beutilized by the logic processor 40 to confirm the accuracy orcorrectness of an assertive core meaning 48, or to seek the answer to aninquisitive core meaning 48. Because such searching may take time, inthe exemplary embodiment, the logic processor 40 utilizes multithreadedprocessing so as to not delay the conversation between the targetpersonality 22 and the user 36 (or teacher personality 26). In a bitmore detail, upon the logic processor 40 receiving such a core meaning48 that requires research, the logic processor first transmits anon-committal response to the post-processor 42 (such as, “let me getback to you on that”) and allows the conversation to continue.Meanwhile, the logic processor 40 concurrently initiates a second threadfor performing the necessary research. Upon concluding the research, thelogic processor 40 interrupts the conversation and transmits theresearched response to the post-processor 42 for communication to theuser 36.

In certain embodiments, where the target personality 22 has access toone or more sensory input devices, such as cameras or microphones, thepost-processor 42 may factor in those details during the formattingprocess and further modify the raw response 44 accordingly (906).

Once the raw response 44 is converted into the properly formattedresponse 46, the formatted response 46 is transmitted to the user 36 (orteacher personality 26) (908).

In at least one embodiment, within the data server 28 is also stored aseparate dataset that is maintained by the system 20 and contains anatural language representation of each topic that was presented by theuser 36 (or teacher personality 26) via conversational inputs 34. Inthis way, the target personality 22 is able to recall previousconversational inputs 34. This dataset can be edited manually or thetarget personality 22 can synthesize responses by using regularexpressions to compare existing natural language topical responses toexisting raw responses 44 and replacing variables 45. When queried as totopic, the target personality 22 looks for the matching core meaning 48in a response file 50, and returns the topical raw response 44.

It should be noted that, in at least one alternate embodiment, thepre-processor 38 may be omitted from the target personality 22; thus,rather than first extracting the core meaning 48 from a givenconversational input 34, the logic processor 40 would simply create andstore a separate response file 50 for each unique conversational input34 encountered (i.e., rather than only creating and storing a separateresponse file 50 for each unique core meaning 48). Similarly, in atleast one further alternate embodiment, the post-processor 42 may beomitted from the target personality 22; thus, rather than formattingeach raw response 44 as provided by the associated response file 50, theresponse files 50 themselves would contain properly formatted responses46.

Aspects of the present specification may also be described as follows:

1. A method for creating and implementing an artificially intelligentagent residing in memory on an at least one computing device andconfigured for taking appropriate action in response to an at least oneconversational input, the method comprising the steps of: implementing atarget personality of the agent in memory on the at least one computingdevice; implementing an at least one artificially intelligentconversational personality in memory on the at least one computingdevice, each conversational personality configured for conversing withthe target personality as needed in order to provide the targetpersonality with appropriate knowledge and associated responses;allowing an at least one communicating entity to interact with thetarget personality by receiving the at least one conversational inputfrom the communicating entity; obtaining and storing an at least onedetail related to the communicating entity; and for each conversationalinput received by the target personality: processing the conversationalinput to derive an at least one core meaning associated therewith;determining an appropriate raw response for the at least one coremeaning; upon determining that the raw response contains an at least onevariable: determining an appropriate value for the at least one variablebased on the at least one detail related to the communicating entity;and inserting the value for the at least one variable into the rawresponse; formatting the raw response; and transmitting the formattedresponse to the communicating entity; whereby, the target personality ofthe agent is capable of carrying on a conversation, even if one or moreresponses provided by the target personality are obtained in real-timefrom the at least one conversational personality, all while dynamicallyincreasing the artificial intelligence of the target personality

2. The method according to embodiment 1, further comprising the stepsof: choosing a desired personality type for the target personality; andselecting one or more appropriate conversational personalities withwhich the target personality should communicate, based on the desiredpersonality type for the target personality.

3. The method according to embodiments 1-2, wherein the step of allowingan at least one communicating entity to interact with the targetpersonality further comprises the steps of: implementing an at least oneteacher personality in memory on the at least one computing device, eachteacher personality configured for transmitting to the targetpersonality a set of pre-defined conversational inputs so that thetarget personality may learn how to appropriately respond to theconversational inputs through interacting with and receiving appropriateresponses from the at least one conversational personality; andselecting an appropriate teacher personality with which the targetpersonality should communicate, based on the desired personality typefor the target personality.

4. The method according to embodiments 1-3, wherein the step of allowingan at least one communicating entity to interact with the targetpersonality further comprises the step of allowing an at least one humanuser to selectively transmit to the target personality the at least oneconversational input.

5. The method according to embodiments 1-4, wherein the step ofprocessing the conversational input further comprises the steps of:maintaining a relational list of all conversational inputs encounteredby the target personality along with the core meanings associated witheach such conversational input; removing any punctuation from theconversational input; removing any language from the conversationalinput that is determined to have no bearing on the core meaning; andmapping the conversational input to the associated core meaning storedin the relational list.

6. The method according to embodiments 1-5, wherein the step ofdetermining an appropriate raw response further comprises the steps of,for each core meaning associated with the conversational input: upondetermining that the core meaning contains an at least one object,processing said at least one object; maintaining a set of response filescontaining all core meanings encountered by the target personality alongwith the raw responses associated with each such core meaning;determining whether the core meaning is new or whether the core meaninghas been encountered before by the target personality; upon determiningthat the core meaning has been encountered before: mapping the coremeaning to the at least one associated raw response stored in theresponse files; and determining which of the at least one associated rawresponse is the most appropriate; and upon determining that the coremeaning is new: transmitting the core meaning to the at least oneconversational personality; receiving an at least one raw response fromthe conversational personality; determining which of the at least oneraw response is the most appropriate; adding the core meaning andassociated raw response deemed most appropriate to the response files;and upon determining that the raw response contains an at least oneobject, processing said at least one object.

7. The method according to embodiments 1-6, further comprising the stepsof: storing in the set of response files a mood value associated witheach raw response, said mood value indicating the type of emotion thatis to accompany the associated raw response; and modifying the rawresponse to reflect the type of emotion defined by the mood value.

8. The method according to embodiments 1-7, further comprising the stepsof: storing in the set of response files a weight value associated withthe mood value of each raw response, said weight value indicating thestrength of appropriate mood that is to accompany the associated rawresponse; and modifying the raw response to reflect the strength ofappropriate mood defined by the weight value.

9. The method according to embodiments 1-8, wherein the step ofdetermining which of the at least one raw response is the mostappropriate further comprises the steps of: assigning a rank to eachcommunicating entity and conversational personality; in each responsefile, storing information related to the communicating entity orconversational personality responsible for creating or last editing theraw response contained in said response file, said information includingthe rank; and upon discovering multiple raw responses associated with agiven core meaning, determining which of said raw responses has thehighest rank associated therewith.

10. The method according to embodiments 1-9, wherein the step ofprocessing the at least one object further comprises the steps of:maintaining a set of object files containing information associated withall objects encountered by the target personality, each object filecontaining at least one of an object name, an object taxonomy, and anobject attribute; and for each object contained in at least one of thecore meaning and raw response: determining whether the object is new orwhether the object has been encountered before by the targetpersonality; upon determining that the object has been encounteredbefore: updating the object file associated with the object as neededwith any relevant information contained in at least one of the coremeaning and raw response; and upon determining that the object is new:creating a new object file for the object; populating the new objectfile with any relevant information contained in at least one of the coremeaning and raw response; and upon determining that the object is asubset of a pre-existing object, populating at least one of the objecttaxonomy and object attribute of the new object file with all relevantinformation associated with the pre-existing object.

11. The method according to embodiments 1-10, further comprising thesteps of: creating and maintaining an object file for each of the atleast one communicating entity; and upon the target personalityreceiving an initial conversational input from a one of the at least onecommunicating entity: determining whether the communicating entity hasbeen encountered before by the target personality; upon determining thatthe communicating entity is new: creating a new object file for thecommunicating entity; prompting the communicating entity for relevantinformation related to said entity; and populating the new object filewith any relevant information obtained from the communicating entity;upon determining that the communicating entity has been encounteredbefore: accessing the object file associated with the communicatingentity; and verifying the identity of the communicating entity; andupdating the object file associated with the communicating entity asneeded with any relevant information contained in at least oneconversational input.

12. The method according to embodiments 1-11, wherein the step ofverifying the identity of the communicating entity further comprises thestep of prompting the communicating entity with an at least onevalidation question based on at least one of the relevant informationcontained in the associated object file and details contained in pastconversations between the target personality and the communicatingentity.

13. The method according to embodiments 1-12, further comprising thesteps of: encrypting the relevant information contained in the at leastone object file associated with the at least one communicating entityusing a unique encryption key; upon verifying the identity of thecommunicating entity, determining whether the communicating entity is inpossession of a corresponding decryption key; and using the decryptionkey to decrypt the relevant information contained in the associatedobject file in order to utilize that information as appropriate whileinteracting with the communicating entity.

14. The method according to embodiments 1-13, further comprising thestep of providing at least one of the target personality andconversational personality access to one or more supplemental datasources for selectively increasing the knowledge base of saidpersonality.

15. The method according to embodiments 1-14, further comprising thesteps of, upon the target personality receiving a conversational inputhaving a response that requires research: transmitting a non-committalresponse to the communicating entity and continuing the conversationtherewith; initiating a second thread for performing the necessaryresearch via the supplemental data sources; and upon concluding theresearch, interrupting the conversation and transmitting the researchedresponse to the communicating entity.

16. A method for creating and implementing an artificially intelligentagent residing in memory on an at least one computing device andconfigured for taking appropriate action in response to an at least oneconversational input, the method comprising the steps of: implementing atarget personality of the agent in memory on the at least one computingdevice; implementing an at least one artificially intelligentconversational personality in memory on the at least one computingdevice, each conversational personality configured for conversing withthe target personality as needed in order to provide the targetpersonality with appropriate knowledge and associated responses;maintaining a set of object files containing information associated withan at least one object encountered by the target personality, eachobject file containing at least one of an object name, an objecttaxonomy, and an object attribute; allowing an at least onecommunicating entity to interact with the target personality byreceiving the at least one conversational input from the communicatingentity; and for each conversational input received by the targetpersonality: processing the conversational input to derive an at leastone core meaning associated therewith; upon determining that the atleast one core meaning contains at least one object: upon determiningthat the object has been encountered before, updating the object fileassociated with the object as needed with any relevant informationcontained in at least one of the core meaning and raw response; and upondetermining that the object is new: creating a new object file for theobject; populating the new object file with any relevant informationcontained in at least one of the core meaning and raw response; and upondetermining that the object is a subset of a pre-existing object,populating at least one of the object taxonomy and object attribute ofthe new object file with all relevant information associated with thepre-existing object; and determining an appropriate raw response for theat least one core meaning; formatting the raw response; and transmittingthe formatted response to the communicating entity; whereby, the targetpersonality of the agent is capable of carrying on a conversation, evenif one or more responses provided by the target personality are obtainedin real-time from the at least one conversational personality, all whiledynamically increasing the artificial intelligence of the targetpersonality.

17. A system for creating and implementing an artificially intelligentagent residing in memory on an at least one computing device, the systemcomprising: a target personality residing in memory on the at least onecomputing device and comprising a pre-processor, a logic processor, anda post-processor, the target personality configured for interacting withan at least one communicating entity through responding to an at leastone conversational input received therefrom; the pre-processorconfigured for processing each conversational input to derive an atleast one core meaning associated therewith; the logic processorconfigured for determining an appropriate raw response for the at leastone core meaning; the post-processor configured for formatting the rawresponse; an at least one data server residing in memory on the at leastone computing device and in selective communication with the targetpersonality, the data server containing an at least one detail relatedto the communicating entity; an at least one artificially intelligentconversational personality residing in memory on the at least onecomputing device, each conversational personality configured forconversing with the target personality as needed in order to provide thetarget personality with appropriate knowledge and associated responses;wherein, upon the target personality receiving said at least oneconversational input, the target personality is configured for: for eachconversational input received by the target personality: processing theconversational input to derive an at least one core meaning associatedtherewith; determining an appropriate raw response for the at least onecore meaning; upon determining that the raw response contains an atleast one variable: determining an appropriate value for the at leastone variable based on the at least one detail related to thecommunicating entity; and inserting the value for the at least onevariable into the raw response; formatting the raw response; andtransmitting the formatted response to the communicating entity;whereby, the target personality is capable of carrying on aconversation, even if one or more responses provided by the targetpersonality are obtained in real-time from the at least oneconversational personality, all while dynamically increasing theartificial intelligence of the target personality.

18. The system according to embodiment 17, wherein the system is furtherconfigured for: choosing a desired personality type for the targetpersonality; and selecting one or more appropriate conversationalpersonalities with which the target personality should communicate,based on the desired personality type for the target personality.

19. The system according to embodiments 17-18, wherein the system isfurther configured for selecting an appropriate teacher personality withwhich the target personality should communicate, based on the desiredpersonality type for the target personality.

20. The system according to embodiments 17-19, wherein the at least onecommunicating entity is a human user.

21. The system according to embodiments 17-20, wherein the system isfurther configured for: maintaining a relational list of allconversational inputs encountered by the target personality along withthe core meanings associated with each such conversational input;removing any punctuation from the conversational input; removing anylanguage from the conversational input that is determined to have nobearing on the core meaning; and mapping the conversational input to theassociated core meaning stored in the relational list.

22. The system according to embodiments 17-21, wherein the system isfurther configured for, for each core meaning associated with theconversational input: upon determining that the core meaning contains anat least one object, processing said at least one object; maintaining aset of response files containing all core meanings encountered by thetarget personality along with the raw responses associated with eachsuch core meaning; determining whether the core meaning is new orwhether the core meaning has been encountered before by the targetpersonality; upon determining that the core meaning has been encounteredbefore: mapping the core meaning to the at least one associated rawresponse stored in the response files; and determining which of the atleast one associated raw response is the most appropriate; and upondetermining that the core meaning is new: transmitting the core meaningto the at least one conversational personality; receiving an at leastone raw response from the conversational personality; determining whichof the at least one raw response is the most appropriate; adding thecore meaning and associated raw response deemed most appropriate to theresponse files; and upon determining that the raw response contains anat least one object, processing said at least one object.

23. The system according to embodiments 17-22, wherein the system isfurther configured for: storing in the set of response files a moodvalue associated with each raw response, said mood value indicating thetype of emotion that is to accompany the associated raw response; andmodifying the raw response to reflect the type of emotion defined by themood value.

24. The system according to embodiments 17-23, wherein the system isfurther configured for: storing in the set of response files a weightvalue associated with the mood value of each raw response, said weightvalue indicating the strength of appropriate mood that is to accompanythe associated raw response; and modifying the raw response to reflectthe strength of appropriate mood defined by the weight value.

25. The system according to embodiments 17-24, wherein the system isfurther configured for: assigning a rank to each communicating entityand conversational personality; in each response file, storinginformation related to the communicating entity or conversationalpersonality responsible for creating or last editing the raw responsecontained in said response file, said information including the rank;and upon discovering multiple raw responses associated with a given coremeaning, determining which of said raw responses has the highest rankassociated therewith.

26. The system according to embodiments 17-25, wherein the system isfurther configured for: maintaining a set of object files containinginformation associated with all objects encountered by the targetpersonality, each object file containing at least one of an object name,an object taxonomy, and an object attribute; and for each objectcontained in at least one of the core meaning and raw response:determining whether the object is new or whether the object has beenencountered before by the target personality; upon determining that theobject has been encountered before: updating the object file associatedwith the object as needed with any relevant information contained in atleast one of the core meaning and raw response; and upon determiningthat the object is new: creating a new object file for the object;populating the new object file with any relevant information containedin at least one of the core meaning and raw response; and upondetermining that the object is a subset of a pre-existing object,populating at least one of the object taxonomy and object attribute ofthe new object file with all relevant information associated with thepre-existing object.

27. The system according to embodiments 17-26, wherein the system isfurther configured for: creating and maintaining an object file for eachof the at least one communicating entity; and upon the targetpersonality receiving an initial conversational input from a one of theat least one communicating entity: determining whether the communicatingentity has been encountered before by the target personality; upondetermining that the communicating entity is new: creating a new objectfile for the communicating entity; prompting the communicating entityfor relevant information related to said entity; and populating the newobject file with any relevant information obtained from thecommunicating entity; upon determining that the communicating entity hasbeen encountered before: accessing the object file associated with thecommunicating entity; and verifying the identity of the communicatingentity; and updating the object file associated with the communicatingentity as needed with any relevant information contained in at least oneconversational input.

28. The system according to embodiments 17-27, wherein the system isfurther configured for prompting the communicating entity with an atleast one validation question based on at least one of the relevantinformation contained in the associated object file and detailscontained in past conversations between the target personality and thecommunicating entity.

29. The system according to embodiments 17-28, wherein the system isfurther configured for: encrypting the relevant information contained inthe at least one object file associated with the at least onecommunicating entity using a unique encryption key; upon verifying theidentity of the communicating entity, determining whether thecommunicating entity is in possession of a corresponding decryption key;and using the decryption key to decrypt the relevant informationcontained in the associated object file in order to utilize thatinformation as appropriate while interacting with the communicatingentity.

30. The system according to embodiments 17-29, wherein the system isfurther configured for providing at least one of the target personalityand conversational personality access to one or more supplemental datasources for selectively increasing the knowledge base of saidpersonality.

31. The system according to embodiments 17-30, wherein the system isfurther configured for, upon the target personality receiving aconversational input having a response that requires research:transmitting a non-committal response to the communicating entity andcontinuing the conversation therewith; initiating a second thread forperforming the necessary research via the supplemental data sources; andupon concluding the research, interrupting the conversation andtransmitting the researched response to the communicating entity.

In closing, regarding the exemplary embodiments of the present inventionas shown and described herein, it will be appreciated that systems andmethods for creating and implementing an artificially intelligent agentor system are disclosed. Because the principles of the invention may bepracticed in a number of configurations beyond those shown anddescribed, it is to be understood that the invention is not in any waylimited by the exemplary embodiments, but is generally directed tosystems and methods for creating and implementing an artificiallyintelligent agent or system and is able to take numerous forms to do sowithout departing from the spirit and scope of the invention.Furthermore, the various features of each of the above-describedembodiments may be combined in any logical manner and are intended to beincluded within the scope of the present invention.

Groupings of alternative embodiments, elements, or steps of the presentinvention are not to be construed as limitations. Each group member maybe referred to and claimed individually or in any combination with othergroup members disclosed herein. It is anticipated that one or moremembers of a group may be included in, or deleted from, a group forreasons of convenience and/or patentability. When any such inclusion ordeletion occurs, the specification is deemed to contain the group asmodified thus fulfilling the written description of all Markush groupsused in the appended claims.

Unless otherwise indicated, all numbers expressing a characteristic,item, quantity, parameter, property, term, and so forth used in thepresent specification and claims are to be understood as being modifiedin all instances by the term “about.” As used herein, the term “about”means that the characteristic, item, quantity, parameter, property, orterm so qualified encompasses a range of plus or minus ten percent aboveand below the value of the stated characteristic, item, quantity,parameter, property, or term. Accordingly, unless indicated to thecontrary, the numerical parameters set forth in the specification andattached claims are approximations that may vary. At the very least, andnot as an attempt to limit the application of the doctrine ofequivalents to the scope of the claims, each numerical indication shouldat least be construed in light of the number of reported significantdigits and by applying ordinary rounding techniques. Notwithstandingthat the numerical ranges and values setting forth the broad scope ofthe invention are approximations, the numerical ranges and values setforth in the specific examples are reported as precisely as possible.Any numerical range or value, however, inherently contains certainerrors necessarily resulting from the standard deviation found in theirrespective testing measurements. Recitation of numerical ranges ofvalues herein is merely intended to serve as a shorthand method ofreferring individually to each separate numerical value falling withinthe range. Unless otherwise indicated herein, each individual value of anumerical range is incorporated into the present specification as if itwere individually recited herein.

The terms “a,” “an,” “the” and similar referents used in the context ofdescribing the present invention (especially in the context of thefollowing claims) are to be construed to cover both the singular and theplural, unless otherwise indicated herein or clearly contradicted bycontext. All methods described herein can be performed in any suitableorder unless otherwise indicated herein or otherwise clearlycontradicted by context. The use of any and all examples, or exemplarylanguage (e.g., “such as”) provided herein is intended merely to betterilluminate the present invention and does not pose a limitation on thescope of the invention otherwise claimed. No language in the presentspecification should be construed as indicating any non-claimed elementessential to the practice of the invention.

Specific embodiments disclosed herein may be further limited in theclaims using consisting of or consisting essentially of language. Whenused in the claims, whether as filed or added per amendment, thetransition term “consisting of” excludes any element, step, oringredient not specified in the claims. The transition term “consistingessentially of” limits the scope of a claim to the specified materialsor steps and those that do not materially affect the basic and novelcharacteristic(s). Embodiments of the present invention so claimed areinherently or expressly described and enabled herein.

It should be understood that the logic code, programs, modules,processes, methods, and the order in which the respective elements ofeach method are performed are purely exemplary. Depending on theimplementation, they may be performed in any order or in parallel,unless indicated otherwise in the present disclosure. Further, the logiccode is not related, or limited to any particular programming language,and may comprise one or more modules that execute on one or moreprocessors in a distributed, non-distributed, or multiprocessingenvironment.

The methods as described above may be used in the fabrication ofintegrated circuit chips. The resulting integrated circuit chips can bedistributed by the fabricator in raw wafer form (that is, as a singlewafer that has multiple unpackaged chips), as a bare die, or in apackaged form. In the latter case, the chip is mounted in a single chippackage (such as a plastic carrier, with leads that are affixed to amotherboard or other higher level carrier) or in a multi-chip package(such as a ceramic carrier that has either or both surfaceinterconnections or buried interconnections). In any case, the chip isthen integrated with other chips, discrete circuit elements, and/orother signal processing devices as part of either (a) an intermediateproduct, such as a motherboard, or (b) an end product. The end productcan be any product that includes integrated circuit chips, ranging fromtoys and other low-end applications to advanced computer products havinga display, a keyboard or other input device, and a central processor.

While aspects of the invention have been described with reference to atleast one exemplary embodiment, it is to be clearly understood by thoseskilled in the art that the invention is not limited thereto. Rather,the scope of the invention is to be interpreted only in conjunction withthe appended claims and it is made clear, here, that the inventor(s)believe that the claimed subject matter is the invention.

What is claimed is:
 1. A method for creating and implementing anartificially intelligent agent residing in memory on an at least onecomputing device and configured for taking an action in response to anat least one conversational input, the method comprising the steps of:implementing a target personality of the agent in memory on the at leastone computing device; implementing an at least one artificiallyintelligent conversational personality in memory on the at least onecomputing device, each conversational personality configured forconversing with the target personality as needed in order to provide thetarget personality with knowledge and associated responses; allowing anat least one communicating entity to interact with the targetpersonality by receiving the at least one conversational input from thecommunicating entity; obtaining and storing an at least one detailrelated to the communicating entity; and for each conversational inputreceived by the target personality: processing the conversational inputto derive an at least one core meaning associated therewith; determininga raw response for the at least one core meaning and upon determiningthat the core meaning contains at least one object, processing said atleast one object; maintaining a set of response files containing allcore meanings encountered by the target personality along with the rawresponses associated with each such core meaning; determining whetherthe core meaning is new or whether the core meaning has been encounteredbefore by the target personality; upon determining that the core meaninghas been encountered before: mapping the core meaning to the at leastone associated raw response stored in the response files; anddetermining which of the at least one associated raw response is themost appropriate; and upon determining that the core meaning is new:transmitting the core meaning to the at least one conversationalpersonality; receiving an at least one raw response from theconversational personality; determining which of the at least one rawresponse is the most appropriate; adding the core meaning and associatedraw response deemed most appropriate to the response files; and upondetermining that the raw response contains an at least one object,processing said at least one object, transmitting the formatted responseto the communicating entity; whereby, the target personality of theagent is capable of processing the object in real-time from the at leastone conversational personality, all while dynamically increasing theartificial intelligence of the target personality.
 2. The method ofclaim 1, further comprising the steps of: choosing a desired personalitytype for the target personality; and selecting one or more appropriateconversational personalities with which the target personality shouldcommunicate, based on the desired personality type for the targetpersonality.
 3. The method of claim 2, wherein the step of allowing anat least one communicating entity to interact with the targetpersonality further comprises the steps of: implementing an at least oneteacher personality in memory on the at least one computing device, eachteacher personality configured for transmitting to the targetpersonality a set of pre-defined conversational inputs so that thetarget personality may learn how to appropriately respond to theconversational inputs through interacting with and receiving appropriateresponses from the at least one conversational personality; andselecting an appropriate teacher personality with which the targetpersonality should communicate, based on the desired personality typefor the target personality.
 4. The method of claim 1, wherein the stepof allowing an at least one communicating entity to interact with thetarget personality further comprises the step of allowing an at leastone human user to selectively transmit to the target personality the atleast one conversational input.
 5. The method of claim 1, wherein thestep of processing the conversational input further comprises the stepsof: maintaining a relational list of all conversational inputsencountered by the target personality along with the core meaningsassociated with each such conversational input; removing any punctuationfrom the conversational input; removing any language from theconversational input that is determined to have no bearing on the coremeaning; and mapping the conversational input to the associated coremeaning stored in the relational list.
 6. The method of claim 1, furthercomprising the steps of: storing in the set of response files a moodvalue associated with each raw response, said mood value indicating thetype of emotion that is to accompany the associated raw response; andmodifying the raw response to reflect the type of emotion defined by themood value.
 7. The method of claim 6, further comprising the steps of:storing in the set of response files a weight value associated with themood value of each raw response, said weight value indicating thestrength of appropriate mood that is to accompany the associated rawresponse; and modifying the raw response to reflect the strength ofappropriate mood defined by the weight value.
 8. The method of claim 1,wherein the step of determining which of the at least one raw responseis the most appropriate further comprises the steps of: assigning a rankto each communicating entity and conversational personality; in eachresponse file, storing information related to the communicating entityor conversational personality responsible for creating or last editingthe raw response contained in said response file, said informationincluding the rank; and upon discovering multiple raw responsesassociated with a given core meaning, determining which of said rawresponses has the highest rank associated therewith.
 9. The method ofclaim 1, wherein the step of processing the at least one object furthercomprises the steps of: maintaining a set of object files containinginformation associated with all objects encountered by the targetpersonality, each object file containing at least one of an object name,an object taxonomy, and an object attribute; and for each objectcontained in at least one of the core meaning and raw response:determining whether the object is new or whether the object has beenencountered before by the target personality; upon determining that theobject has been encountered before: updating the object file associatedwith the object as needed with any relevant information contained in atleast one of the core meaning and raw response; and upon determiningthat the object is new: creating a new object file for the object;populating the new object file with any relevant information containedin at least one of the core meaning and raw response; and upondetermining that the object is a subset of a pre-existing object,populating at least one of the object taxonomy and object attribute ofthe new object file with all relevant information associated with thepre-existing object.
 10. The method of claim 9, further comprising thesteps of: creating and maintaining an object file for each of the atleast one communicating entity; and upon the target personalityreceiving an initial conversational input from a one of the at least onecommunicating entity: determining whether the communicating entity hasbeen encountered before by the target personality; upon determining thatthe communicating entity is new: creating a new object file for thecommunicating entity; prompting the communicating entity for relevantinformation related to said entity; and populating the new object filewith any relevant information obtained from the communicating entity;upon determining that the communicating entity has been encounteredbefore: accessing the object file associated with the communicatingentity; and verifying the identity of the communicating entity; andupdating the object file associated with the communicating entity asneeded with any relevant information contained in at least oneconversational input.
 11. The method of claim 10, wherein the step ofverifying the identity of the communicating entity further comprises thestep of prompting the communicating entity with an at least onevalidation question based on at least one of the relevant informationcontained in the associated object file and details contained in pastconversations between the target personality and the communicatingentity.
 12. The method of claim 10, further comprising the steps of:encrypting the relevant information contained in the at least one objectfile associated with the at least one communicating entity using aunique encryption key; upon verifying the identity of the communicatingentity, determining whether the communicating entity is in possession ofa corresponding decryption key; and using the decryption key to decryptthe relevant information contained in the associated object file inorder to utilize that information as appropriate while interacting withthe communicating entity.
 13. The method of claim 1, further comprisingthe step of providing at least one of the target personality andconversational personality access to one or more supplemental datasources for selectively increasing the knowledge base of saidpersonality.
 14. The method of claim 13, further comprising the stepsof, upon the target personality receiving a conversational input havinga response that requires research: transmitting a non-committal responseto the communicating entity and continuing the conversation therewith;initiating a second thread for performing the necessary research via thesupplemental data sources; and upon concluding the research,interrupting the conversation and transmitting the researched responseto the communicating entity.